As used herein the term “switch” is used generally to mean a network device for forwarding data such as a layer 2 switch, layer 3 switch or router etc. A switch includes a control plane which determines forwarding policies and a data plane which carries out the actual forwarding of data. The data plane includes a forwarding table which stores forwarding entries. The forwarding entries may be programmed into the forwarding table by the control plane. The control plane may generate the forwarding entries based on data forwarding policies and manage the forwarding entries in the data plane. In a traditional approach to networking, both the control plane and the data plane are located in the network switch. That is the network switch has a local control plane that manages the data plane of the switch.
Software defined networking (SDN) is an approach in which the control plane and the data plane are handled by separate devices. A SDN switch includes a forwarding table and forwards traffic flows based on the contents of the forwarding table. However, the data plane of a SDN switch is managed by a remote SDN controller, rather than a local control plane of the switch. The remote SDN controller may, for example, be a server which acts as an SDN control plane. The SDN controller may, for example, instruct adding entries to, or deleting entries from, the SDN switches forwarding table. The OpenFlow Protocol (OFP) is one example of an SDN protocol which is currently gaining acceptance in the marketplace.
A hybrid SDN switch is a switch which supports both traditional networking and SDN networking. A hybrid SDN switch has a forwarding table that may be programmed and managed by either a local control plane of the hybrid SDN switch, or by a remote SDN controller. Thus, the data plane of a hybrid SDN switch may comprise both SDN flow entries, programmed by a remote SDN controller, and local flow entries programmed by a local control plane of the switch.